<?


/**
 * Gtk窗体 创建器
 * 此文件根据 Glade窗口模版文件 自动产生，当 原Glade文件更改后，此文件也会及时重建。
 *
 * !注意：此文件由 JCAT 框架自动产生、维护，任何情况下都不应该手工编辑此文件，以免 JCAT 框架维护此文件时丢弃手工更改的内容。
 *
 * @author	JCAT_UIGtkGlade
 * @create	2008.10.28 22:59:58
 * @access	public
 */
class JCAT_GtkGlade_3965059d4d7c131f40ab7f7046f7e09e extends JCAT_UIGtkWidgetCreator
{
	// 公共方法 ///////////////////////////////////////////////////////////
	/**
	 * what's this
	 * 
	 * @access	public
	 * @return	array
	 */
	public function JCAT_GtkGlade_3965059d4d7c131f40ab7f7046f7e09e()
	{
		$this->arrWidgetTree = unserialize('a:2:{s:17:"GtkWindow:window1";a:1:{s:26:"GtkVBox:JJ_ContactListView";a:1:{s:33:"GtkScrolledWindow:scrolledwindow1";a:1:{s:13:"GtkVBox:vbox1";a:2:{s:27:"GtkTreeView:TreeContactList";a:0:{}s:18:"GtkVBox:WizardView";a:2:{s:19:"GtkLabel:LabWelcome";a:0:{}s:25:"GtkVButtonBox:vbuttonbox1";a:1:{s:17:"GtkButton:button1";a:0:{}}}}}}}s:16:"GtkMenu:UserMenu";a:7:{s:24:"GtkMenuItem:StartSession";a:0:{}s:21:"GtkMenuItem:menuitem6";a:0:{}s:23:"GtkMenuItem:OpenHistory";a:0:{}s:27:"GtkMenuItem:CopyUserAddress";a:0:{}s:22:"GtkMenuItem:LocalAlias";a:0:{}s:21:"GtkMenuItem:menuitem1";a:0:{}s:21:"GtkMenuItem:menuitem2";a:1:{s:17:"GtkMenu:GroupList";a:3:{s:21:"GtkMenuItem:menuitem3";a:0:{}s:21:"GtkMenuItem:menuitem5";a:0:{}s:30:"GtkSeparatorMenuItem:menuitem4";a:0:{}}}}}') ;
		$this->arrWidgetIds = unserialize('a:21:{s:7:"window1";s:9:"GtkWindow";s:18:"JJ_ContactListView";s:7:"GtkVBox";s:15:"scrolledwindow1";s:17:"GtkScrolledWindow";s:5:"vbox1";s:7:"GtkVBox";s:15:"TreeContactList";s:11:"GtkTreeView";s:10:"WizardView";s:7:"GtkVBox";s:10:"LabWelcome";s:8:"GtkLabel";s:11:"vbuttonbox1";s:13:"GtkVButtonBox";s:7:"button1";s:9:"GtkButton";s:8:"UserMenu";s:7:"GtkMenu";s:12:"StartSession";s:11:"GtkMenuItem";s:9:"menuitem6";s:11:"GtkMenuItem";s:11:"OpenHistory";s:11:"GtkMenuItem";s:15:"CopyUserAddress";s:11:"GtkMenuItem";s:10:"LocalAlias";s:11:"GtkMenuItem";s:9:"menuitem1";s:11:"GtkMenuItem";s:9:"menuitem2";s:11:"GtkMenuItem";s:9:"GroupList";s:7:"GtkMenu";s:9:"menuitem3";s:11:"GtkMenuItem";s:9:"menuitem5";s:11:"GtkMenuItem";s:9:"menuitem4";s:20:"GtkSeparatorMenuItem";}') ;
		$this->sTemplatePath = 'C:\JJ_0.1.1/Resource/UITemplate/template.JJ_ContactListView.glade' ;
	}


	// 私有方法 ///////////////////////////////////////////////

	/**
	 * 创建窗体 GtkWindow:window1
	 * 
	 * @access	private
	 * @param	$arrObjectForSignal=array()	array	用于响应 Signal 事件的对象, 数组键名做为 对象的变量名
	 * @return	GtkWindow
	 */
	protected function Create_window1(array $arrObjectForSignal=array())
	{
		JCAT_ASSERT::ASSERT_ISTHESE( $arrObjectForSignal, array('array:object,null') ) ;

		// 声明 用于响应 Signal 事件的对象的引用
		foreach( $arrObjectForSignal as $sObName=>$aObject )
		{
			if( $aObject )
				$$sObName = $aObject ;
		}



		$window1 = new GtkWindow() ;


		$JJ_ContactListView = $this->GetWidget('JJ_ContactListView',&$arrObjectForSignal) ;
		$window1->add($JJ_ContactListView) ;



		// 窗体名称
		if( isset($window1) and $window1->get_name()=='GtkWindow' )
		{
			$window1->set_name('window1') ;
		}
		
		// 在 窗体中 记录 Creator
		if( isset($window1) and !$window1->get_data('creator') )
		{
			$window1->set_data('creator',$this) ;
		}
					
		return $window1 ;
	}



	/**
	 * 创建窗体 GtkVBox:JJ_ContactListView
	 * 
	 * @access	private
	 * @param	$arrObjectForSignal=array()	array	用于响应 Signal 事件的对象, 数组键名做为 对象的变量名
	 * @return	GtkVBox
	 */
	protected function Create_JJ_ContactListView(array $arrObjectForSignal=array())
	{
		JCAT_ASSERT::ASSERT_ISTHESE( $arrObjectForSignal, array('array:object,null') ) ;

		// 声明 用于响应 Signal 事件的对象的引用
		foreach( $arrObjectForSignal as $sObName=>$aObject )
		{
			if( $aObject )
				$$sObName = $aObject ;
		}



		$JJ_ContactListView = new GtkVBox() ;
		$JJ_ContactListView->set_homogeneous(false) ;
		$JJ_ContactListView->set_spacing(0) ;

		$scrolledwindow1 = $this->GetWidget('scrolledwindow1',&$arrObjectForSignal) ;
		$JJ_ContactListView->pack_start( $scrolledwindow1, true, true, 0 ) ;

		$JJ_ContactListView->set_visible( true, false ) ;


		// 窗体名称
		if( isset($JJ_ContactListView) and $JJ_ContactListView->get_name()=='GtkVBox' )
		{
			$JJ_ContactListView->set_name('JJ_ContactListView') ;
		}
		
		// 在 窗体中 记录 Creator
		if( isset($JJ_ContactListView) and !$JJ_ContactListView->get_data('creator') )
		{
			$JJ_ContactListView->set_data('creator',$this) ;
		}
					
		return $JJ_ContactListView ;
	}



	/**
	 * 创建窗体 GtkScrolledWindow:scrolledwindow1
	 * 
	 * @access	private
	 * @param	$arrObjectForSignal=array()	array	用于响应 Signal 事件的对象, 数组键名做为 对象的变量名
	 * @return	GtkScrolledWindow
	 */
	protected function Create_scrolledwindow1(array $arrObjectForSignal=array())
	{
		JCAT_ASSERT::ASSERT_ISTHESE( $arrObjectForSignal, array('array:object,null') ) ;

		// 声明 用于响应 Signal 事件的对象的引用
		foreach( $arrObjectForSignal as $sObName=>$aObject )
		{
			if( $aObject )
				$$sObName = $aObject ;
		}



		$scrolledwindow1 = new GtkScrolledWindow() ;
		$scrolledwindow1->set_policy(Gtk::POLICY_AUTOMATIC,Gtk::POLICY_AUTOMATIC) ;

		$vbox1 = $this->GetWidget('vbox1',&$arrObjectForSignal) ;
		$scrolledwindow1->add_with_viewport($vbox1) ;
		$scrolledwindow1->set_visible( true, false ) ;


		// 窗体名称
		if( isset($scrolledwindow1) and $scrolledwindow1->get_name()=='GtkScrolledWindow' )
		{
			$scrolledwindow1->set_name('scrolledwindow1') ;
		}
		
		// 在 窗体中 记录 Creator
		if( isset($scrolledwindow1) and !$scrolledwindow1->get_data('creator') )
		{
			$scrolledwindow1->set_data('creator',$this) ;
		}
					
		return $scrolledwindow1 ;
	}



	/**
	 * 创建窗体 GtkVBox:vbox1
	 * 
	 * @access	private
	 * @param	$arrObjectForSignal=array()	array	用于响应 Signal 事件的对象, 数组键名做为 对象的变量名
	 * @return	GtkVBox
	 */
	protected function Create_vbox1(array $arrObjectForSignal=array())
	{
		JCAT_ASSERT::ASSERT_ISTHESE( $arrObjectForSignal, array('array:object,null') ) ;

		// 声明 用于响应 Signal 事件的对象的引用
		foreach( $arrObjectForSignal as $sObName=>$aObject )
		{
			if( $aObject )
				$$sObName = $aObject ;
		}



		$vbox1 = new GtkVBox() ;
		$vbox1->set_homogeneous(false) ;
		$vbox1->set_spacing(0) ;

		$TreeContactList = $this->GetWidget('TreeContactList',&$arrObjectForSignal) ;
		$vbox1->pack_start( $TreeContactList, true, true, 0 ) ;


		$WizardView = $this->GetWidget('WizardView',&$arrObjectForSignal) ;
		$vbox1->pack_start( $WizardView, true, true, 0 ) ;

		$vbox1->set_visible( true, false ) ;


		// 窗体名称
		if( isset($vbox1) and $vbox1->get_name()=='GtkVBox' )
		{
			$vbox1->set_name('vbox1') ;
		}
		
		// 在 窗体中 记录 Creator
		if( isset($vbox1) and !$vbox1->get_data('creator') )
		{
			$vbox1->set_data('creator',$this) ;
		}
					
		return $vbox1 ;
	}



	/**
	 * 创建窗体 GtkTreeView:TreeContactList
	 * 
	 * @access	private
	 * @param	$arrObjectForSignal=array()	array	用于响应 Signal 事件的对象, 数组键名做为 对象的变量名
	 * @return	GtkTreeView
	 */
	protected function Create_TreeContactList(array $arrObjectForSignal=array())
	{
		JCAT_ASSERT::ASSERT_ISTHESE( $arrObjectForSignal, array('array:object,null') ) ;

		// 声明 用于响应 Signal 事件的对象的引用
		foreach( $arrObjectForSignal as $sObName=>$aObject )
		{
			if( $aObject )
				$$sObName = $aObject ;
		}



		$TreeContactList = new GtkTreeView() ;
		$TreeContactList->set_headers_visible(false) ;
		$TreeContactList->set_headers_clickable(true) ;
		$TreeContactList->set_visible( true, false ) ;
		$TreeContactList->connect( 'button_press_event', array($TheView,'OnItemButtonPress')  ) ;


		// 窗体名称
		if( isset($TreeContactList) and $TreeContactList->get_name()=='GtkTreeView' )
		{
			$TreeContactList->set_name('TreeContactList') ;
		}
		
		// 在 窗体中 记录 Creator
		if( isset($TreeContactList) and !$TreeContactList->get_data('creator') )
		{
			$TreeContactList->set_data('creator',$this) ;
		}
					
		return $TreeContactList ;
	}



	/**
	 * 创建窗体 GtkVBox:WizardView
	 * 
	 * @access	private
	 * @param	$arrObjectForSignal=array()	array	用于响应 Signal 事件的对象, 数组键名做为 对象的变量名
	 * @return	GtkVBox
	 */
	protected function Create_WizardView(array $arrObjectForSignal=array())
	{
		JCAT_ASSERT::ASSERT_ISTHESE( $arrObjectForSignal, array('array:object,null') ) ;

		// 声明 用于响应 Signal 事件的对象的引用
		foreach( $arrObjectForSignal as $sObName=>$aObject )
		{
			if( $aObject )
				$$sObName = $aObject ;
		}



		$WizardView = new GtkVBox() ;
		$WizardView->set_homogeneous(false) ;
		$WizardView->set_spacing(40) ;

		$LabWelcome = $this->GetWidget('LabWelcome',&$arrObjectForSignal) ;
		$WizardView->pack_start( $LabWelcome, true, true, 0 ) ;


		$vbuttonbox1 = $this->GetWidget('vbuttonbox1',&$arrObjectForSignal) ;
		$WizardView->pack_start( $vbuttonbox1, true, true, 0 ) ;



		// 窗体名称
		if( isset($WizardView) and $WizardView->get_name()=='GtkVBox' )
		{
			$WizardView->set_name('WizardView') ;
		}
		
		// 在 窗体中 记录 Creator
		if( isset($WizardView) and !$WizardView->get_data('creator') )
		{
			$WizardView->set_data('creator',$this) ;
		}
					
		return $WizardView ;
	}



	/**
	 * 创建窗体 GtkLabel:LabWelcome
	 * 
	 * @access	private
	 * @param	$arrObjectForSignal=array()	array	用于响应 Signal 事件的对象, 数组键名做为 对象的变量名
	 * @return	GtkLabel
	 */
	protected function Create_LabWelcome(array $arrObjectForSignal=array())
	{
		JCAT_ASSERT::ASSERT_ISTHESE( $arrObjectForSignal, array('array:object,null') ) ;

		// 声明 用于响应 Signal 事件的对象的引用
		foreach( $arrObjectForSignal as $sObName=>$aObject )
		{
			if( $aObject )
				$$sObName = $aObject ;
		}



		$LabWelcome = new GtkLabel() ;

		$LabWelcome->set_label("感谢您使用
<span color='#008800'>JeCat-Jabber PHP 开源即时通讯</span>") ;
		$LabWelcome->set_use_markup(true) ;
		$LabWelcome->set_justify(Gtk::JUSTIFY_CENTER) ;
		$LabWelcome->set_alignment( 0.5, 1 ) ;
		$LabWelcome->set_padding( 0, 0 ) ;		$LabWelcome->set_visible( true, false ) ;


		// 窗体名称
		if( isset($LabWelcome) and $LabWelcome->get_name()=='GtkLabel' )
		{
			$LabWelcome->set_name('LabWelcome') ;
		}
		
		// 在 窗体中 记录 Creator
		if( isset($LabWelcome) and !$LabWelcome->get_data('creator') )
		{
			$LabWelcome->set_data('creator',$this) ;
		}
					
		return $LabWelcome ;
	}



	/**
	 * 创建窗体 GtkVButtonBox:vbuttonbox1
	 * 
	 * @access	private
	 * @param	$arrObjectForSignal=array()	array	用于响应 Signal 事件的对象, 数组键名做为 对象的变量名
	 * @return	GtkVButtonBox
	 */
	protected function Create_vbuttonbox1(array $arrObjectForSignal=array())
	{
		JCAT_ASSERT::ASSERT_ISTHESE( $arrObjectForSignal, array('array:object,null') ) ;

		// 声明 用于响应 Signal 事件的对象的引用
		foreach( $arrObjectForSignal as $sObName=>$aObject )
		{
			if( $aObject )
				$$sObName = $aObject ;
		}



		$vbuttonbox1 = new GtkVButtonBox() ;
		$vbuttonbox1->set_homogeneous(false) ;
		$vbuttonbox1->set_spacing(0) ;
		$vbuttonbox1->set_layout(Gtk::BUTTONBOX_START) ;

		$button1 = $this->GetWidget('button1',&$arrObjectForSignal) ;
		$vbuttonbox1->pack_start( $button1, true, true, 0 ) ;

		$vbuttonbox1->set_visible( true, false ) ;


		// 窗体名称
		if( isset($vbuttonbox1) and $vbuttonbox1->get_name()=='GtkVButtonBox' )
		{
			$vbuttonbox1->set_name('vbuttonbox1') ;
		}
		
		// 在 窗体中 记录 Creator
		if( isset($vbuttonbox1) and !$vbuttonbox1->get_data('creator') )
		{
			$vbuttonbox1->set_data('creator',$this) ;
		}
					
		return $vbuttonbox1 ;
	}



	/**
	 * 创建窗体 GtkButton:button1
	 * 
	 * @access	private
	 * @param	$arrObjectForSignal=array()	array	用于响应 Signal 事件的对象, 数组键名做为 对象的变量名
	 * @return	GtkButton
	 */
	protected function Create_button1(array $arrObjectForSignal=array())
	{
		JCAT_ASSERT::ASSERT_ISTHESE( $arrObjectForSignal, array('array:object,null') ) ;

		// 声明 用于响应 Signal 事件的对象的引用
		foreach( $arrObjectForSignal as $sObName=>$aObject )
		{
			if( $aObject )
				$$sObName = $aObject ;
		}



		$button1 = new GtkButton() ;
		$button1->set_label('  添加联系人  ') ;
		$button1->set_visible( true, false ) ;
		$button1->connect( 'clicked', array($TheController,'AddContact')  ) ;


		// 窗体名称
		if( isset($button1) and $button1->get_name()=='GtkButton' )
		{
			$button1->set_name('button1') ;
		}
		
		// 在 窗体中 记录 Creator
		if( isset($button1) and !$button1->get_data('creator') )
		{
			$button1->set_data('creator',$this) ;
		}
					
		return $button1 ;
	}



	/**
	 * 创建窗体 GtkMenu:UserMenu
	 * 
	 * @access	private
	 * @param	$arrObjectForSignal=array()	array	用于响应 Signal 事件的对象, 数组键名做为 对象的变量名
	 * @return	GtkMenu
	 */
	protected function Create_UserMenu(array $arrObjectForSignal=array())
	{
		JCAT_ASSERT::ASSERT_ISTHESE( $arrObjectForSignal, array('array:object,null') ) ;

		// 声明 用于响应 Signal 事件的对象的引用
		foreach( $arrObjectForSignal as $sObName=>$aObject )
		{
			if( $aObject )
				$$sObName = $aObject ;
		}



		$UserMenu = new GtkMenu() ;

		$StartSession = self::GetWidget('StartSession',&$arrObjectForSignal) ;

		$UserMenu->append($StartSession) ;

		$menuitem6 = self::GetWidget('menuitem6',&$arrObjectForSignal) ;

		$UserMenu->append($menuitem6) ;

		$OpenHistory = self::GetWidget('OpenHistory',&$arrObjectForSignal) ;

		$UserMenu->append($OpenHistory) ;

		$CopyUserAddress = self::GetWidget('CopyUserAddress',&$arrObjectForSignal) ;

		$UserMenu->append($CopyUserAddress) ;

		$LocalAlias = self::GetWidget('LocalAlias',&$arrObjectForSignal) ;

		$UserMenu->append($LocalAlias) ;

		$menuitem1 = self::GetWidget('menuitem1',&$arrObjectForSignal) ;

		$UserMenu->append($menuitem1) ;

		$menuitem2 = self::GetWidget('menuitem2',&$arrObjectForSignal) ;

		$UserMenu->append($menuitem2) ;
		$UserMenu->set_visible( true, false ) ;


		// 窗体名称
		if( isset($UserMenu) and $UserMenu->get_name()=='GtkMenu' )
		{
			$UserMenu->set_name('UserMenu') ;
		}
		
		// 在 窗体中 记录 Creator
		if( isset($UserMenu) and !$UserMenu->get_data('creator') )
		{
			$UserMenu->set_data('creator',$this) ;
		}
					
		return $UserMenu ;
	}



	/**
	 * 创建窗体 GtkMenuItem:StartSession
	 * 
	 * @access	private
	 * @param	$arrObjectForSignal=array()	array	用于响应 Signal 事件的对象, 数组键名做为 对象的变量名
	 * @return	GtkMenuItem
	 */
	protected function Create_StartSession(array $arrObjectForSignal=array())
	{
		JCAT_ASSERT::ASSERT_ISTHESE( $arrObjectForSignal, array('array:object,null') ) ;

		// 声明 用于响应 Signal 事件的对象的引用
		foreach( $arrObjectForSignal as $sObName=>$aObject )
		{
			if( $aObject )
				$$sObName = $aObject ;
		}



		$StartSession = new GtkMenuItem('开始交谈') ;
		$StartSession->child->set_use_underline(1) ;
		$StartSession->set_visible( true, false ) ;
		$StartSession->connect( 'activate', array($TheView,'OnStartSession')  ) ;


		// 窗体名称
		if( isset($StartSession) and $StartSession->get_name()=='GtkMenuItem' )
		{
			$StartSession->set_name('StartSession') ;
		}
		
		// 在 窗体中 记录 Creator
		if( isset($StartSession) and !$StartSession->get_data('creator') )
		{
			$StartSession->set_data('creator',$this) ;
		}
					
		return $StartSession ;
	}



	/**
	 * 创建窗体 GtkMenuItem:menuitem6
	 * 
	 * @access	private
	 * @param	$arrObjectForSignal=array()	array	用于响应 Signal 事件的对象, 数组键名做为 对象的变量名
	 * @return	GtkMenuItem
	 */
	protected function Create_menuitem6(array $arrObjectForSignal=array())
	{
		JCAT_ASSERT::ASSERT_ISTHESE( $arrObjectForSignal, array('array:object,null') ) ;

		// 声明 用于响应 Signal 事件的对象的引用
		foreach( $arrObjectForSignal as $sObName=>$aObject )
		{
			if( $aObject )
				$$sObName = $aObject ;
		}



		$menuitem6 = new GtkMenuItem('添加联系人') ;
		$menuitem6->child->set_use_underline(1) ;
		$menuitem6->set_visible( true, false ) ;
		$menuitem6->connect( 'activate', array($TheController,'AddContact')  ) ;


		// 窗体名称
		if( isset($menuitem6) and $menuitem6->get_name()=='GtkMenuItem' )
		{
			$menuitem6->set_name('menuitem6') ;
		}
		
		// 在 窗体中 记录 Creator
		if( isset($menuitem6) and !$menuitem6->get_data('creator') )
		{
			$menuitem6->set_data('creator',$this) ;
		}
					
		return $menuitem6 ;
	}



	/**
	 * 创建窗体 GtkMenuItem:OpenHistory
	 * 
	 * @access	private
	 * @param	$arrObjectForSignal=array()	array	用于响应 Signal 事件的对象, 数组键名做为 对象的变量名
	 * @return	GtkMenuItem
	 */
	protected function Create_OpenHistory(array $arrObjectForSignal=array())
	{
		JCAT_ASSERT::ASSERT_ISTHESE( $arrObjectForSignal, array('array:object,null') ) ;

		// 声明 用于响应 Signal 事件的对象的引用
		foreach( $arrObjectForSignal as $sObName=>$aObject )
		{
			if( $aObject )
				$$sObName = $aObject ;
		}



		$OpenHistory = new GtkMenuItem('查看聊天记录...') ;
		$OpenHistory->child->set_use_underline(1) ;
		$OpenHistory->set_visible( true, false ) ;
		$OpenHistory->connect( 'activate', array($TheView,'OnOpenSessionHistoryDialog')  ) ;


		// 窗体名称
		if( isset($OpenHistory) and $OpenHistory->get_name()=='GtkMenuItem' )
		{
			$OpenHistory->set_name('OpenHistory') ;
		}
		
		// 在 窗体中 记录 Creator
		if( isset($OpenHistory) and !$OpenHistory->get_data('creator') )
		{
			$OpenHistory->set_data('creator',$this) ;
		}
					
		return $OpenHistory ;
	}



	/**
	 * 创建窗体 GtkMenuItem:CopyUserAddress
	 * 
	 * @access	private
	 * @param	$arrObjectForSignal=array()	array	用于响应 Signal 事件的对象, 数组键名做为 对象的变量名
	 * @return	GtkMenuItem
	 */
	protected function Create_CopyUserAddress(array $arrObjectForSignal=array())
	{
		JCAT_ASSERT::ASSERT_ISTHESE( $arrObjectForSignal, array('array:object,null') ) ;

		// 声明 用于响应 Signal 事件的对象的引用
		foreach( $arrObjectForSignal as $sObName=>$aObject )
		{
			if( $aObject )
				$$sObName = $aObject ;
		}



		$CopyUserAddress = new GtkMenuItem('复制用户完整账号') ;
		$CopyUserAddress->child->set_use_underline(1) ;
		$CopyUserAddress->set_visible( true, false ) ;

		$aTip = new GtkTooltips();
		$aTip->set_tip( $CopyUserAddress, "复制此用户的 Jabber 即时通讯地址", "" );

		$CopyUserAddress->connect( 'activate', array($TheView,'OnCopyUserAddress')  ) ;


		// 窗体名称
		if( isset($CopyUserAddress) and $CopyUserAddress->get_name()=='GtkMenuItem' )
		{
			$CopyUserAddress->set_name('CopyUserAddress') ;
		}
		
		// 在 窗体中 记录 Creator
		if( isset($CopyUserAddress) and !$CopyUserAddress->get_data('creator') )
		{
			$CopyUserAddress->set_data('creator',$this) ;
		}
					
		return $CopyUserAddress ;
	}



	/**
	 * 创建窗体 GtkMenuItem:LocalAlias
	 * 
	 * @access	private
	 * @param	$arrObjectForSignal=array()	array	用于响应 Signal 事件的对象, 数组键名做为 对象的变量名
	 * @return	GtkMenuItem
	 */
	protected function Create_LocalAlias(array $arrObjectForSignal=array())
	{
		JCAT_ASSERT::ASSERT_ISTHESE( $arrObjectForSignal, array('array:object,null') ) ;

		// 声明 用于响应 Signal 事件的对象的引用
		foreach( $arrObjectForSignal as $sObName=>$aObject )
		{
			if( $aObject )
				$$sObName = $aObject ;
		}



		$LocalAlias = new GtkMenuItem('更改昵称') ;
		$LocalAlias->child->set_use_underline(1) ;
		$LocalAlias->set_visible( true, false ) ;

		$aTip = new GtkTooltips();
		$aTip->set_tip( $LocalAlias, "给此用户设置昵称以便于识记", "" );

		$LocalAlias->connect( 'activate', array($TheView,'OnChangeNickname')  ) ;


		// 窗体名称
		if( isset($LocalAlias) and $LocalAlias->get_name()=='GtkMenuItem' )
		{
			$LocalAlias->set_name('LocalAlias') ;
		}
		
		// 在 窗体中 记录 Creator
		if( isset($LocalAlias) and !$LocalAlias->get_data('creator') )
		{
			$LocalAlias->set_data('creator',$this) ;
		}
					
		return $LocalAlias ;
	}



	/**
	 * 创建窗体 GtkMenuItem:menuitem1
	 * 
	 * @access	private
	 * @param	$arrObjectForSignal=array()	array	用于响应 Signal 事件的对象, 数组键名做为 对象的变量名
	 * @return	GtkMenuItem
	 */
	protected function Create_menuitem1(array $arrObjectForSignal=array())
	{
		JCAT_ASSERT::ASSERT_ISTHESE( $arrObjectForSignal, array('array:object,null') ) ;

		// 声明 用于响应 Signal 事件的对象的引用
		foreach( $arrObjectForSignal as $sObName=>$aObject )
		{
			if( $aObject )
				$$sObName = $aObject ;
		}



		$menuitem1 = new GtkMenuItem('删除联系人') ;
		$menuitem1->child->set_use_underline(1) ;
		$menuitem1->set_visible( true, false ) ;

		$aTip = new GtkTooltips();
		$aTip->set_tip( $menuitem1, "从您的联系人名单中删除该联系人", "" );

		$menuitem1->connect( 'activate', array($TheView,'OnRemoveContact')  ) ;


		// 窗体名称
		if( isset($menuitem1) and $menuitem1->get_name()=='GtkMenuItem' )
		{
			$menuitem1->set_name('menuitem1') ;
		}
		
		// 在 窗体中 记录 Creator
		if( isset($menuitem1) and !$menuitem1->get_data('creator') )
		{
			$menuitem1->set_data('creator',$this) ;
		}
					
		return $menuitem1 ;
	}



	/**
	 * 创建窗体 GtkMenuItem:menuitem2
	 * 
	 * @access	private
	 * @param	$arrObjectForSignal=array()	array	用于响应 Signal 事件的对象, 数组键名做为 对象的变量名
	 * @return	GtkMenuItem
	 */
	protected function Create_menuitem2(array $arrObjectForSignal=array())
	{
		JCAT_ASSERT::ASSERT_ISTHESE( $arrObjectForSignal, array('array:object,null') ) ;

		// 声明 用于响应 Signal 事件的对象的引用
		foreach( $arrObjectForSignal as $sObName=>$aObject )
		{
			if( $aObject )
				$$sObName = $aObject ;
		}



		$menuitem2 = new GtkMenuItem('移动到其它分组') ;
		$menuitem2->child->set_use_underline(1) ;

		$GroupList = self::GetWidget('GroupList',&$arrObjectForSignal) ;
		$menuitem2->set_submenu($GroupList) ;
		$menuitem2->set_visible( true, false ) ;

		$aTip = new GtkTooltips();
		$aTip->set_tip( $menuitem2, "移动到其它的联系人分组", "" );



		// 窗体名称
		if( isset($menuitem2) and $menuitem2->get_name()=='GtkMenuItem' )
		{
			$menuitem2->set_name('menuitem2') ;
		}
		
		// 在 窗体中 记录 Creator
		if( isset($menuitem2) and !$menuitem2->get_data('creator') )
		{
			$menuitem2->set_data('creator',$this) ;
		}
					
		return $menuitem2 ;
	}



	/**
	 * 创建窗体 GtkMenu:GroupList
	 * 
	 * @access	private
	 * @param	$arrObjectForSignal=array()	array	用于响应 Signal 事件的对象, 数组键名做为 对象的变量名
	 * @return	GtkMenu
	 */
	protected function Create_GroupList(array $arrObjectForSignal=array())
	{
		JCAT_ASSERT::ASSERT_ISTHESE( $arrObjectForSignal, array('array:object,null') ) ;

		// 声明 用于响应 Signal 事件的对象的引用
		foreach( $arrObjectForSignal as $sObName=>$aObject )
		{
			if( $aObject )
				$$sObName = $aObject ;
		}



		$GroupList = new GtkMenu() ;

		$menuitem3 = self::GetWidget('menuitem3',&$arrObjectForSignal) ;

		$GroupList->append($menuitem3) ;

		$menuitem5 = self::GetWidget('menuitem5',&$arrObjectForSignal) ;

		$GroupList->append($menuitem5) ;

		$menuitem4 = self::GetWidget('menuitem4',&$arrObjectForSignal) ;

		$GroupList->append($menuitem4) ;
		$GroupList->set_visible( true, false ) ;


		// 窗体名称
		if( isset($GroupList) and $GroupList->get_name()=='GtkMenu' )
		{
			$GroupList->set_name('GroupList') ;
		}
		
		// 在 窗体中 记录 Creator
		if( isset($GroupList) and !$GroupList->get_data('creator') )
		{
			$GroupList->set_data('creator',$this) ;
		}
					
		return $GroupList ;
	}



	/**
	 * 创建窗体 GtkMenuItem:menuitem3
	 * 
	 * @access	private
	 * @param	$arrObjectForSignal=array()	array	用于响应 Signal 事件的对象, 数组键名做为 对象的变量名
	 * @return	GtkMenuItem
	 */
	protected function Create_menuitem3(array $arrObjectForSignal=array())
	{
		JCAT_ASSERT::ASSERT_ISTHESE( $arrObjectForSignal, array('array:object,null') ) ;

		// 声明 用于响应 Signal 事件的对象的引用
		foreach( $arrObjectForSignal as $sObName=>$aObject )
		{
			if( $aObject )
				$$sObName = $aObject ;
		}



		$menuitem3 = new GtkMenuItem('新建分组') ;
		$menuitem3->child->set_use_underline(1) ;
		$menuitem3->set_visible( true, false ) ;
		$menuitem3->connect( 'activate', array($TheView,'StartMoveToNewGroup')  ) ;


		// 窗体名称
		if( isset($menuitem3) and $menuitem3->get_name()=='GtkMenuItem' )
		{
			$menuitem3->set_name('menuitem3') ;
		}
		
		// 在 窗体中 记录 Creator
		if( isset($menuitem3) and !$menuitem3->get_data('creator') )
		{
			$menuitem3->set_data('creator',$this) ;
		}
					
		return $menuitem3 ;
	}



	/**
	 * 创建窗体 GtkMenuItem:menuitem5
	 * 
	 * @access	private
	 * @param	$arrObjectForSignal=array()	array	用于响应 Signal 事件的对象, 数组键名做为 对象的变量名
	 * @return	GtkMenuItem
	 */
	protected function Create_menuitem5(array $arrObjectForSignal=array())
	{
		JCAT_ASSERT::ASSERT_ISTHESE( $arrObjectForSignal, array('array:object,null') ) ;

		// 声明 用于响应 Signal 事件的对象的引用
		foreach( $arrObjectForSignal as $sObName=>$aObject )
		{
			if( $aObject )
				$$sObName = $aObject ;
		}



		$menuitem5 = new GtkMenuItem('无分组') ;
		$menuitem5->child->set_use_underline(1) ;
		$menuitem5->set_visible( true, false ) ;
		$menuitem5->connect( 'activate', array($TheView,'WithoutGroup')  ) ;


		// 窗体名称
		if( isset($menuitem5) and $menuitem5->get_name()=='GtkMenuItem' )
		{
			$menuitem5->set_name('menuitem5') ;
		}
		
		// 在 窗体中 记录 Creator
		if( isset($menuitem5) and !$menuitem5->get_data('creator') )
		{
			$menuitem5->set_data('creator',$this) ;
		}
					
		return $menuitem5 ;
	}



	/**
	 * 创建窗体 GtkSeparatorMenuItem:menuitem4
	 * 
	 * @access	private
	 * @param	$arrObjectForSignal=array()	array	用于响应 Signal 事件的对象, 数组键名做为 对象的变量名
	 * @return	GtkSeparatorMenuItem
	 */
	protected function Create_menuitem4(array $arrObjectForSignal=array())
	{
		JCAT_ASSERT::ASSERT_ISTHESE( $arrObjectForSignal, array('array:object,null') ) ;

		// 声明 用于响应 Signal 事件的对象的引用
		foreach( $arrObjectForSignal as $sObName=>$aObject )
		{
			if( $aObject )
				$$sObName = $aObject ;
		}



		$menuitem4 = new GtkSeparatorMenuItem() ;
		$menuitem4->set_visible( true, false ) ;


		// 窗体名称
		if( isset($menuitem4) and $menuitem4->get_name()=='GtkSeparatorMenuItem' )
		{
			$menuitem4->set_name('menuitem4') ;
		}
		
		// 在 窗体中 记录 Creator
		if( isset($menuitem4) and !$menuitem4->get_data('creator') )
		{
			$menuitem4->set_data('creator',$this) ;
		}
					
		return $menuitem4 ;
	}




}

?>